Introdução à Lógica de Programação

Aula 2 - Lógica de Programação



Helder Jefferson Ferreira da Luz

helder.luz@ifpr.edu.br

Objetivos da aula

  • Aprender os conceitos básicos de programação
  • Conhecer a linguagem de programação JavaScript
  • Desenvolver o primeiro programa

Lógica de programação - definições

Programação é o processo de criar instruções para que um computador realize tarefas. Essas instruções são escritas em linguagens de programação.


Lógica de programação é o conjunto de princípios e métodos usados para estruturar um algoritmo de forma que ele seja compreensível e executável por um computador.


Algoritmo é uma sequência de passos bem definidos e organizados que são seguidos para resolver um problema ou realizar uma tarefa.

Algoritmo


Um algoritmo é qualquer procedimento computacional bem definido que toma algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída. Portanto, um algoritmo é uma sequência de etapas computacionais que transformam a entrada na saída.
Cormen, T. H.

CORMEN, T. H. et al. Algoritmos: Teoria e Prática. 3. ed. LTC, 2012.

Algoritmo

Exemplo - Preparar um bolo de chocolate

Passos:
1: Reunir os ingredientes: 2 xícaras de farinha de trigo...
2: Pré-aquecer o forno a 180°C.
3: Misturar os ingredientes secos em uma tigela.
4: Em outra tigela, bater os ingredientes líquidos.
5: Combinar os ingredientes secos com os líquidos.
6: Untar uma forma com manteiga e farinha.
7: Despejar a massa na forma.
8: Colocar a forma no forno e assar por 35 a 40 minutos.
9: Verificar se o bolo está pronto inserindo um palito no centro.
10: Retirar o bolo do forno e deixar esfriar.

Algoritmo

Entrada (Inputs): Ingredientes e condições iniciais (forno a 180°C).
Processamento: Mistura e preparo dos ingredientes, assamento no forno.
Saída (Output): Um bolo de chocolate pronto para ser servido.



Assim como em programação, seguir os passos de maneira correta é essencial para obter o resultado esperado.

Programação

Exemplo: Fazer um algoritmo que calcule a média aritmética de 2 números.

Passo 1: Ler o primeiro número (A).
Passo 2: Ler o segundo número (B).
Passo 3: Somar os dois números (Soma = A + B).
Passo 4: Dividir a soma por 2 para encontrar a média (Média = Soma / 2).
Passo 5: Exibir o valor da média.

Programação

Entrada (Inputs): Número A e número B
Processamento: Dividir por 2 a soma dos 2 números.
Saída (Output): Exibir o valor da média.

Linguagem de programação

O que são linguagens de programação?

  • É um conjunto de regras e comandos que permitem que os programadores se comuniquem com o computador.

Exemplos de Linguagens:

  • C, C++, Java, JavaScript, Python, Ruby etc.

Um algoritmo escrito em linguagem de programação é chamado de código fonte.

Linguagem de programação

Características:

  • Sintaxe: Conjunto de regras que define como os comandos devem ser escritos (ou seja, a gramática da linguagem)
  • Semântica: Significado das instruções escritas na linguagem.
  • Abstração: As linguagens de programação são projetadas para abstrair a complexidade do computador.

Linguagem de programação

Tipos de Linguagens de Programação:

  • Baixo nível:
    • Estão mais próximas da linguagem de máquina (código binário, instruções específicas de hardware).
    • Exemplo: Assembly.
  • Alto nível:
    • Estão mais próximas da linguagem humana, sendo mais fáceis de aprender e usar.
    • Exemplo: C++, Java, Python, Dart, JavaScript.

Linguagem de programação

Tipos de Linguagens de Programação:

  • Compiladas: O código é transformado diretamente em código de máquina por um compilador.
    • Exemplo: C, C++.
  • Interpretadas: O código é interpretado e executado linha por linha por um interpretador.
    • Exemplo: Python, JavaScript.

Por que utilizar JavaScript?

  • É a linguagem utilizada no lado do cliente/usuário
  • É uma das linguagens mais usadas no mundo.

JavaScript

  • Criado em 4 de dezembro de 1995 por Brendan Eich.
    • Na época trabalhava na NetScape.
    • Ex CTO e CEO da Mozilla, atualmente CEO da Brave.

JavaScript

Atualmente mantido pela European Computer Manufactures Association Internacional (ECMA Internacional), que desenvolve a especificação ECMAScript, que é a base do JavaScript.


É atualmente uma das linguagens de programação mais usada no mundo.


O nome JavaScript foi escolhido pela relação entre a Netscape e a Sun.

JavaScript

  • Linguagem de programação de alto nível (HLL)
  • Interpretada
  • Tipagem dinâmica
  • Multiparadigma (estrutural, funcional, orientada a objetos)
  • Principal linguagem usada no lado do cliente
  • Também utilizada no lado do servidor
  • Site da especificação https://tc39.es

JavaScript

É utilizado para:

  • Desenvolvimento WEb client-side
  • Desenvolvimento Web server-side (Node.js)
  • Desenvolvimento de software desktop (Electron)
  • Desenvolvimento mobile (React Native)
  • Visualização de dados (D3.js, Chart.js)
  • dentre outras finalidades.

Linguagens mais usadas - Github

https://github.blog/news-insights/octoverse/octoverse-2024/

5 Linguagens mais usadas nos repositórios criados nos últimos 12 meses

Linguagens mais usadas - Stackoverflow Geral

https://survey.stackoverflow.co/2024/technology#most-popular-technologies-language

Linguagens mais usadas - Stackoverflow Profissionais

https://survey.stackoverflow.co/2024/technology#most-popular-technologies-language-prof

Linguagens mais usadas - Stackoverflow Estudantes

https://survey.stackoverflow.co/2024/technology#most-popular-technologies-language-learn

Ambiente de execução

  • No navegador
    • V8 Engine (Chrome)
    • SpiderMonkey (Firefox)
    • JavaScriptCoer (Safari)

  • No servidor
    • V8 Engine (Node.js)

Download

Node.js
https://nodejs.org/en/download

Ambiente de desenvolvimento

Primeiro programa - Hello World

JavaScript

hello.js
console.log('Hello World')

C

hello.c
#include <stdio.h>
int main()
{
    printf("Hello, World!");
    return 0;
}

Execução

Pode-se inserir o script em uma página Web para ser executado no console do navegador.

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  <meta charset="UTF-8">
  <title>Documento</title>
  <script src="script.js"></script> 
</head>
<body>
</body>
</html>

Execução

Pode-se executar no terminal usando o Node.js.

No terminal (CLI)

node hello.js



OBS: Há diferenças nas funções suportadas pelo Node.js e pelos navegadores.

Execução - Comandos do CLI

Comando Descrição
cd <nome_pasta> Altera diretório atual pelo informado
cd .. Vai para o diretório pai
mkdir <nome_pasta> Cria um novo diretório
ls Lista os arquivos do diretório atual

Comentários

Uma linha

console.log('Hello World!') // Exemplo de comentário em linha única

Multiplas linhas

// comentário
// em
// múltiplas linhas
 
/*
Segunda opção
para comentário 
em múltiplas linhas
*/

Comentários

No VSCode pode usar a tecla CTRL + ; para comentar uma ou múltiplas linhas.

Apresentar texto na tela

console.log("Hello World!") // Hello World!
console.log('Nome:', 'José') // Nome: José
console.log('Altura:', '5', 'm') // Altura: 5 m

A função console.log() é utilizada para imprimir informações no console do navegador.

  • Pode receber um ou mais argumentos. Quando há mais de um argumento, eles são separados por espaço por padrão.
  • Ao final do texto ele pula uma linha (quebra de linha).
  • Pode usar aspas simples ' ' ou dupla " ".

Fluxo de execução

A ordem em que os comandos são executados é chamado de fluxo de execução

  • O JavaScript executa o código linha por linha, de cima para baixo.
  • Cada linha é interpretada e executada imediatamente antes de seguir para a próxima.
  • Isso é chamado de fluxo de execução sequêncial.

Fluxo de execução

Código

console.log('Hello World!')
console.log('Nome:', 'José')
console.log('Altura:', '5', 'm')

Saída no terminal

Hello World!
Nome: José
Altura: 5 m

Dúvidas? 🤔

Exercícios

  1. Implementar um programa que imprima o texto “Olá, mundo!”
  2. Escreva um código JavaScript que imprima o seu nome e idade.
  3. Qual a saída resultante da execução da linha de código a seguir?
    console.log("Hello") //World!
  4. Implementar um programa que imprima o texto a seguir, reproduzindo a
    formatação:
Lista de compras:
- Arroz
- Feijão
- Óleo

Exercícios

  1. Imprima os números de 1 a 5 em linhas diferentes.

  2. O código-fonte a seguir está correto sintaticamente? Caso contrário, o que está errado.
    console.log(Alan Turing)

  3. O código-fonte a seguir tem como resultado a saída:
    console.log("1", "2", "3", "4")
    a. “1234”
    b. “1 2 3 4”
    c. Erro de sintaxe.